<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
    // 箭头函数是用来简化函数定义语法的
        // const fn = () => {
        //     console.log(13);
        // }
        // fn();

    // 在箭头函数中，如果函数体中只有一句代码，并且代码的执行结果就是函数的返回值，函数体大括号可以省略
    // const sum = (n1, n2) => n1 + n2;
    // const result = sum(10, 20);
    // console.log(result);

    // 在箭头函数中，如果形参只有一个，形参外侧的小括号也是可以省略的
    // const fn = v => {
    //     alert(v);
    // }
    // fn(20);

    // 箭头函数不绑定 this，箭头函数没有自己的 this 关键字。如果在箭头函数中使用 this， this 关键字将指向箭头函数定义位置中的 this

    function fn() {
        console.log(this);
        // 由于箭头函数被定义在 fn 函数内部，箭头函数中的 this 指向的是 fn 函数这个区域的 this
        return () => {
            console.log(this);
        }
    }
    const obj = {name: 'zhangsan'};
    const resFn = fn.call(obj);
    resFn();
    </script>
</body>
</html>